home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1997 March / Software of the Month Club 1997 March.iso / pc / win / edu / rpncal / rpncalc.txt < prev   
Encoding:
Text File  |  1996-08-27  |  14.0 KB  |  195 lines

  1. [For best viewing make sure you turn on WordWrap.]
  2.  
  3.         *==================================*
  4.         |        RPN Calc Version 1.1      |
  5.         |  Copyright (c) 1996 Bill Menees  |
  6.         |        All Rights Reserved       |
  7.         *==================================*
  8.  
  9. [Note: The latest version of RPN Calc is available from: http:/www.public.usit.net/bmenees]
  10.  
  11.  
  12. Table of Contents
  13. =================
  14.     * Introduction
  15.         History
  16.     * Using the Calculator Buttons
  17.         Things to Consider
  18.     * Using the Menu Commands
  19.     * Other Features
  20.     * Design
  21.         In the Future
  22.     * Money
  23.         Registering by Credit Card
  24.         Registering by Other Means
  25.     * Contacting the Author
  26.     * Thanks
  27.     * Distribution
  28.     * Standard Disclaimer
  29.  
  30.  
  31. Introduction
  32. ============
  33.     RPN Calc is a 32-Bit Reverse Polish Notation (RPN) calculator applet for Windows 95 and Windows NT.  It sort of has the look and feel of the HP48, so if you're familier with that you should be right at home with RPN Calc.  
  34.  
  35.     If you have never used an RPN calculator before it can be quite a shock.  The thing to remember is that you must enter your operands (arguments) before you enter your operator (function).  For example, to add 3 and 5 you would do the following: 3 ENTER 5 ENTER +.  This may sound awkward at first, but once you get the hang of it it's wonderful.  Really.
  36.  
  37.  
  38. History
  39. =======
  40.     I wrote RPN Calc because I needed a good calculator applet at work, and I couldn't stand using the Windows algebraic calculator.  I also couldn't find an existing RPN calculator applet anywhere that I liked.  So I spent a day writing the basic version and then a few more weeks polishing it and making my friends beta test it.
  41.  
  42.     As I write this, RPN Calc has been distributed around the net for the last three months.  It has been remarkably well-received and almost bug-free.  The only real bug found so far has been that in it's initial release RPN Calc didn't pay attention to the Windows International settings for Decimal Separator.  It always used a period '.'.  Several European users caught this bug early on.  Now RPN Calc uses the correct Decimal Separator for your region. 
  43.  
  44.  
  45. Using the Calculator Buttons
  46. ============================
  47.     Hopefully, it's obvious that you can use the mouse to operate RPN Calc.  However, you can also use the keyboard.  Pressing F1 in RPN Calc will bring up a dialog box that lists all of the keys you can press on the keyboard to activate functions on the calculator.  For example, pressing 'N' (or 'n') on the computer's keyboard will press the ▒ button on the calculator.
  48.  
  49.         On many calculator buttons a letter is underlined.  To activate that calculator button, press the underlined letter on your keyboard.  These visual cues save you from having to remember too many keyboard commands.  The few buttons that don't have an underlined character have easy to remember keyboard equivalents.  For your convienience the entire list of Buttons and their keyboard equivalents is listed here (a few of the characters will not display correctly unless you are viewing this with a Windows text editor):
  50.  
  51.     G: Log           Shift: Shift
  52.     L: Ln            Space: Spc
  53.     M: Mod           +: +
  54.     N: Neg (▒)       -: -
  55.     O: Cos           *: ╫
  56.     P: Pi            /: ≈
  57.     Q: Sqrt          Enter: Enter
  58.     R: Rdc           Backspace: <-/Drop
  59.     S: Sin           0-9: 0-9
  60.     T: Tan           A-F: A-F
  61.     W: Swap
  62.     X: EEX
  63.     Y: Y^x
  64.     Z: Last
  65.  
  66.     Each button also has a command listed above it.  To activate that command press the Shift button (or the shift key on the keyboard) and then click the button (or type it's keyboard equivalent).  The color of the function names will change to indicate which ones are active whenever the shift button changes state (shifted or unshifted).
  67.  
  68.     The use of most of the functions should be obvious; however, a few need a little explanation.
  69.  
  70.     LAST: Returns the last argument(s) used by a command.
  71.     RDC: Takes two integer parameters and reduces the fraction they would make.
  72.     A/B: Converts small floating point values to fractions.  Relatively small domain.
  73.     XROOT: Takes the Xth root of y.  It can't take a fractional power of a negative number or an even root of a negative number.
  74.     EDIT: Moves the value in level 1 of the stack to the number edit line.
  75.     FIX: Takes an integer from -1 to 18 as an argument.  For 0 to 18 the display then fixes the decimal point with that many digits.  For -1, FIX mode is turned off.
  76.     SIGMA: This sums everything on the stack.
  77.  
  78.  
  79. Things to Consider
  80. ==================
  81.     Wherever possible I tried to make my functions work like they work on HP's RPN calculators.  For example, Backspace works like Backspace when you are editing a number for entry, but it executes the Drop command (whether or not Shift is pressed) if you press it when you aren't editing a number.
  82.  
  83.     However, I did change some functions to make the implementation easier.  For example, Spc doesn't put a space on the number edit line; it works exactly like Enter.  The reason for this change was that since we are only dealing with numbers there is no reason to enter a space on the number edit line.
  84.  
  85.     A few of the functions have restricted domains for various reasons.  The most common reason is to avoid imaginary numbers.  HP calculators implement them beautifully, but I haven't yet so my functions don't work on as large a domain.  
  86.  
  87.     Another common reason for restricted domains on my functions is that I wrote some of them to only work on integers.  For example, my factorial function only works on nonnegative integers.  HP's calculators can do numerical integration on the Gamma function to calculate "factorials" for many floating-point values.
  88.  
  89.     The moral is this: RPN Calc is good, but it's no HP.  If you want the ultimate calculator, you don't want RPN Calc; you want an HP48 (or newer).  If you want a good RPN calculator for Windows then you should be able to live with (and hopefully enjoy) RPN Calc.
  90.  
  91.  
  92. Using the Menu Commands
  93. =======================
  94.     The "File" menu lets you Open and Save stacks as well as print the current stack to a file or printer.  The "Menus" menu contains many additional functions that I didn't want to try to cram on the main calculator form as buttons.  They all behave in the same way as the calculator buttons though.  Finally, the "Options" menu controls what trig units are used, what base to work in, and whether the calculator is in "Stay On Top" mode or not.
  95.  
  96.     The menu functions that have a shortcut key listed beside them can be typed directly (e.g. Ctrl+O for Open).  To execute the other functions you must navigate through the menus with the mouse or keyboard.
  97.  
  98.  
  99. Other Features
  100. ==============
  101.     Between uses RPN Calc retains almost all of it's state information.  That is, when you exit it, it remembers the current stack, fix length, last argument(s), "Stay On Top" mode, trig units, base, and window position.  The next time you run RPN Calc these values are automatically loaded, so it appears like you never left the program.     
  102.  
  103.     [For the tinkerers out there: The stack and settings are stored in the registry key 'HKEY_CURRENT_USER\Software\Menees\RPN Calc\CurrentVersion'.  If you ever want to uninstall RPN Calc, you can delete this key.]
  104.  
  105.     If you are running RPN Calc on a system that uses the Win95 shell, you will have an extra button to minimize it to the system tray on the taskbar.  This is cool because you can keep it running and pop it up when you need it.  To make RPN Calc minimize to the system tray on startup, pass it the command line parameter '/Tray'.
  106.  
  107.  
  108. Design
  109. ======
  110.     The first thing you may be wondering is why I made RPN Calc a Win32-only app.  The answer is that Delphi 2.0's math library has lots more functions than Delphi 1.0's.  I could have left out some features and produced a 16-bit version, but since I and all of my coworkers use 32-bit Windows systems I decided to go for more functionality and Win32.  If by some miracle I get lots of requests for a Win16 version I may consider it...
  111.  
  112.     I had to make error reporting slightly different depending on whether RPN Calc is in "Stay On Top" mode.  When "Stay On Top" mode is NOT active the error message dialog will popup directly over the calculator "screen".  When "Stay On Top" mode IS active the error dialog will appear out to the side of the calculator.  This was necessary to prevent the error message dialog from appearing behind the main form (because it always stays on top).
  113.  
  114.     To speed up development I implemented the stack internally as a TStringList (Delphi's linked list of strings class).  The benefit of this is that I had a working class I could use as a Stack at the beginning of the program.  The drawback to this is that the floating point numbers are being store internally as strings.  Thus with each operation there can be a slight round-off error as the values are converted to and from strings.
  115.  
  116.     To lessen the effect of this limitation a bit I always store the full 18-19 digits of each floating-point value in the stack, and I only display a default of 15 digits.  This way the round-off error should be hidden from the user except in long calculations.  If this is a big problem for you, you can always use the Fix command to set the precision you want to see.
  117.  
  118.  
  119. In the Future
  120. =============
  121.     Additions I have planned for future versions include: support for complex numbers; user defined variables; improved precision (through the use of an actual stack of floating-point numbers); and any other suggestions I receive that pass my standards of coolness.
  122.  
  123.     Actually, the existence of a future versions will depend partially on my need for new features in RPN Calc and partially on the feedback I get from users.  If a lot of people tell me they like it AND REGISTER IT (!), then that will encourage me to develop it further.  If I never hear from anyone, that will be a strong incentive for me to not release any new versions.
  124.  
  125.  
  126. Money
  127. =====
  128.     With all the above rambling out of the way let's get down to a little business.  I think RPN Calc is a cool, useful utility.  If you think so too you need to pay me a little something to continue using it. 
  129.  
  130.     My shareware policy is this: $15 (US) per copy in use at any one time.  If you use a copy at work and at home but NEVER at the same time, then you only need to pay for one copy.  If you are using a copy at work, and your kids are using a copy at home, then you need to pay for two copies.  Just pay for the number of copies that will actually be in use at the same time.
  131.  
  132.     Regardless of how you register, please have the following information ready:
  133.     1) The program name (RPN Calc) and version number (1.1).
  134.     2) Where the latest version should be mailed.  You will receive it on a 3.5" disk.
  135.  
  136.  
  137. Registering by Credit Card
  138. ==========================
  139.     For your convenience I have contracted NorthStar Solutions to process any orders that you wish to place with your valid Visa, Mastercard, or Discover.  They may be contacted FOR ORDERS ONLY via any of the following methods:
  140.  
  141. Voice: 1-800-699-6395 (10am - 8pm EST) (Calls from the U.S. only.)
  142.        1-803-699-6395 (10am - 8pm EST)
  143.  
  144. Fax:   1-803-699-5465 (Available 24 hours.  International and business orders encouraged.)
  145.  
  146. E-Mail: AOL: StarMail   Compuserve: 71561,2751   Internet: starmail@aol.com
  147.  
  148. IMPORTANT NOTES: 
  149.     1) Please have your Visa, Mastercard, or Discover number and its expiration date ready.  
  150.     2) NorthStar Solutions processes registrations only; please contact the author for any product/technical support.  
  151.     3) E-mailed and faxed registrations are encouraged, but all registrations are very much appreciated.
  152.  
  153.  
  154. Registering by Other Means
  155. ==========================
  156.     Send cash, check, money order, or other form of payment made payable to:
  157.  
  158.     Bill Menees
  159.     4086 Turner Road
  160.     Rives, TN 38253
  161.     USA
  162.  
  163.  
  164. Contacting the Author
  165. =====================
  166.     If you have any comments, suggestions, praise, questions, etc. mail them to the above address or (preferably) e-mail them to one (or both) of the following addresses:
  167.  
  168.     BMenees@usit.net
  169.     Menees@aol.com
  170.  
  171.  
  172. Thanks
  173. ======
  174.     Special thanks to Brian Boyd and Chris Crabtree for doing all the beta testing for me.  Without them RPN Calc wouldn't be near as nice as it is.  Also, huge thanks go out to all the users who have REGISTERED RPN Calc!  You've restored my faith in humanity!
  175.  
  176.  
  177. Distribution
  178. ============
  179.     Please distribute RPN Calc to all your friends, favorite Net sites, BBSes, etc.  The additional exposure is good for you and me because it greatly increases the chances that I'll continue to develop RPN Calc for a long time to come.  However, before you distribute RPN Calc, if possible please make sure you get the current version from my WWW home page:
  180.  
  181.     http:/www.public.usit.net/bmenees
  182.  
  183.     Also, if distributing software is your business, please keep in mind the following rules:
  184.  
  185.     1) You may distribute unlimited copies of this program in its original form to any legal place unless I notify you otherwise.
  186.  
  187.     2) You may charge a copying/distribution fee as long as the total does not exceed $9.00.
  188.  
  189.     3) You must make it clear that users are NOT purchasing the software and that they must contact the author to legally register their shareware.
  190.  
  191.  
  192. Standard Disclaimer
  193. ===================
  194.     This software is provided AS IS without warranty of any kind, either expressed or implied.  The entire risk as to the quality and performance of the program is with you.  Should the program prove defective, you assume the cost of all necessary servicing, repair, or correction.  In no event shall the author, copyright holder, or any other party who may redistribute the software be liable to you for damages, including any general, special, incidental, or consequential damages arising out of the use or inability to use the program (including, but not limited to, loss of data, data being rendered inaccurate, loss of business profits, loss of business information, business interruptions, loss sustained by you or third parties, or a failure of the program to operate with any other programs), even if the author, copyright holder, or other party has been advised of the possibility of such damages.
  195.